<?php

/**
 * usuario actions.
 *
 * @package    g2t
 * @subpackage usuario
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class usuarioActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
  public function executeIndex(sfWebRequest $request)
  {
    //$this->forward('default', 'module');
      return $this->renderText("
            <script type='text/javascript' src='../js/usuario/ventanaContrasenia.js'></script>
            <script type='text/javascript' src='../js/usuario/panelesCrud.js'></script>
            <script type='text/javascript' src='../js/usuario/live_search_grid.js'></script>");
  }
  
   public function interpretarRolUsuario($rolUsuario)
  {                         
        switch($rolUsuario)
	{
		case "m" : {$rol="Administrador";  break;}
		case "a" : {$rol="Anotador";  break;}
		case "j" : {$rol="Juez";  break;}
		case "o" : {$rol="Organizador"; break;}
                
	}	
        
        return $rol;
  }
  
  public function interpretLetraRolUsuario($rolUsuario)
  {                         
        switch($rolUsuario)
	{
		case "Administrador" : {$rol="m";  break;}
		case "Anotador" : {$rol="a";  break;}
		case "Juez" : {$rol="j";  break;}
		case "Organizador" : {$rol="o"; break;}
                
	}	
        
        return $rol;
  }
  
  public function executeListRolesUsu()
  {
       //$roles=Doctrine::getTable('rolusuario')->createQuery()->execute();       
       $arraytotal=array('total' => /*count($roles)*/2);
       $array=array();
             
         /*foreach($roles as $rol)
         {  */                                               
             $response=array(
                        //'idRol' => $this->interpretarRolUsuario($rol->getNombreRolUsuario()),
                        //'nombreRol' => $this->interpretarRolUsuario($rol->getNombreRolUsuario())
                                
                         'idRol' => $this->interpretarRolUsuario('m'),
                 'nombreRol' => $this->interpretarRolUsuario('m')
                                
                 );

             $array[]=$response;
             
             $response=array(
                        //'idRol' => $this->interpretarRolUsuario($rol->getNombreRolUsuario()),
                        //'nombreRol' => $this->interpretarRolUsuario($rol->getNombreRolUsuario())
                                
                         'idRol' => $this->interpretarRolUsuario('o'),
                 'nombreRol' => $this->interpretarRolUsuario('o')
                                
                 );
             $array[]=$response;
         //}

         //$response.="]}";
         $arraytotal["items"]=$array;             
         return $this->renderText(json_encode($arraytotal));
  }
  
  
  public function executeList(sfWebRequest $request)
  {         
      
         $inicio=(int)$request->getGetParameter('start');
         $fin=(int)$request->getGetParameter('limit');
         
         $usuarios=Doctrine::getTable('usuario')->createQuery()->execute();         
         $numUsuarios=count($usuarios); 
         
         $usuarios1=Doctrine::getTable('usuario')->createQuery()->limit($fin)->offset($inicio)->execute();
         
         if($numUsuarios!=0)
         {
              
             $arraytotal=array('total' => $numUsuarios);
             $array=array();
             
             foreach($usuarios1 as $usuario)
             {                                
                 
                 $response=array('idUsuario'=> $usuario->getIdUsuario(),
                           'identifUsuario'=> $usuario->getNumidentificacion(),  
                           'nombresUsuario'=> $usuario->getNombreusuario(),
                            'apellidosUsuario' => $usuario->getApellidousuario(),
                         'logginUsuario' => $usuario->getLogginUsuario(),
                         'fechaNcmtoUsuario'=> /*$usuario->getNombreusuario()*/"crear el campo en bd",
                            'telUsuario' => $usuario->getTelefonousuario(),
                            'e-mailUsuario' => $usuario->getCorreoUsuario(),
                            'cmpRolUsuario' => $this->interpretarRolUsuario($usuario->getRolUsuario()->getNombreRolUsuario())
                     );
                 
                 $array[]=$response;
             }
             
             $arraytotal["items"]=$array;             
             return $this->renderText(json_encode($arraytotal));
         }         
  }
  
  
  public function executeRegistrar(sfWebRequest $request)
  {
      $usuario=new Usuario();      
      $usuario->setNombreusuario($request->getPostParameter('nombresUsuario'));
      $usuario->setApellidousuario($request->getPostParameter('apellidosUsuario'));    
      $usuario->setNumidentificacion($request->getPostParameter('identifUsuario'));
     // $usuario->setDireccionusuario($request->getPostParameter('identifUsuario'));
      //falta el set para fecha de nacimiento del usuario
      $usuario->setCorreousuario($request->getPostParameter('e-mailUsuario'));
      $usuario->setLogginusuario($request->getPostParameter('logginUsuario'));
      $usuario->setEstadousuario($request->getPostParameter('estadoUsuario'));
      $usuario->setTelefonousuario($request->getPostParameter('telUsuario'));      
      $usuario->setContraseniausuario(md5($request->getPostParameter('password1')));
      $rolUsuario=Doctrine::getTable('rolusuario')->findOneByNombreRolUsuario($this->interpretLetraRolUsuario($request->getPostParameter('cmpRolUsuario')));      
      $usuario->setRolUsuarioIdrolUsuario($rolUsuario->getIdrolUsuario());      
      $usuario->save();
      
      return $this->renderText("{success: true}");
  }
  
  public function executeEditarDatos(sfWebRequest $request)
  {
      
      
      $idUsuario=$request->getPostParameter('idUsuario');            
      $usuario=Doctrine::getTable('usuario')->find($idUsuario);      
      $usuario->setNombreusuario($request->getPostParameter('nombresUsuario'));
      $usuario->setApellidousuario($request->getPostParameter('apellidosUsuario'));    
      $usuario->setNumidentificacion($request->getPostParameter('identifUsuario'));
     // $usuario->setDireccionusuario($request->getPostParameter('identifUsuario'));
      //falta el set para fecha de nacimiento del usuario
      $usuario->setCorreousuario($request->getPostParameter('e-mailUsuario'));
      //$usuario->setContraseniausuario(md5($request->getParameter('password1')));
      $usuario->setLogginusuario($request->getPostParameter('logginUsuario'));
      $usuario->setEstadousuario($request->getPostParameter('estadoUsuario'));
      $usuario->setTelefonousuario($request->getPostParameter('telUsuario'));
      $rolUsuario=Doctrine::getTable('rolusuario')->findOneByNombreRolUsuario($this->interpretLetraRolUsuario($request->getPostParameter('cmpRolUsuario')));      
      $usuario->setRolUsuarioIdrolUsuario($rolUsuario->getIdrolUsuario());      
      $usuario->save();      
      return $this->renderText("{success: true}");
  }
  
  
  public function executeCambiarContrasenia(sfWebRequest $request)
  {
      $tipoUsuario=$request->getPostParameter('tipoUsuario');      
      $idUsuario=$request->getPostParameter('idUsuarioPass');      
      $contrasenia=$request->getPostParameter('password1');      
      $usuario=Doctrine::getTable('usuario')->find($idUsuario); 
      $usuario->setContraseniausuario(md5($request->getPostParameter('password1')));
      $usuario->save();
      
      return $this->renderText('{success: true}');
  }
  
  /*
  public function executeGetUser(sfWebRequest $request)
  {
      //$idUsuario=$request->getGetParameter("idUsuario");
      $idUsuario=1;
      
      $usuarios=Doctrine::getTable('usuario')->createQuery()->where('idusuario=?',$idUsuario)->execute();
      
     
      
      $arraytotal=array('total' => 1);
      $array=array();
      
      foreach($usuarios as $usuario)
      {                    
           $response=array('idUsuario'=> $usuario->getIdUsuario(),
                           'identificacion'=> $usuario->getNumidentificacion(),  
                           'nombres'=> $usuario->getNombreusuario(),
                            'apellidos' => $usuario->getApellidousuario(),
                            'loggin' => $usuario->getLogginUsuario(),
                            'fechaNcmto'=> $usuario->getNombreusuario(),
                            'telefono' => $usuario->getTelefonousuario(),
                            'e-mail' => $usuario->getCorreoUsuario()
                     );
            $array[]=$response;
            $arraytotal["items"]=$array;             
            return $this->renderText(json_encode($arraytotal));           
      }
      
      //$this->renderText("{success: true, data: ".json_encode($usuarios)."}");
  }*/  
}
